//
//  RequestApi+Common.h
//  MexicoLoan
//
//  Created by WXP on 2025/2/28.
//

#import "RequestApi.h"

NS_ASSUME_NONNULL_BEGIN

@interface RequestApi (Common)

#pragma mark - 风控埋点
+ (void)requestAddRiskControlTrackingWithType:(NSString *)type
                                    startTime:(NSString *)startTime
                                      endTime:(NSString *)endTime
                             delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                      failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 检查是否上传扩展信息
+ (void)requestCheckUploadDeviceInfoWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                         failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 上传拓展数据
+ (void)requestUploadExtInfoWithExtInfo:(NSDictionary *)extInfo
                     delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 字典列表
+ (void)requestCommonDictListWithType:(NSString *)type
                             delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                              failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 银行列表
+ (void)requestBankListWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                            failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 用户提交评分
+ (void)requestSubmitRatingWithScore:(NSInteger)score
                             suggest:(NSString *)suggest
                  isFromFalseProduct:(NSInteger)isFromFalseProduct
                                        delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                             failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取客服信息
+ (void)requestCustomerServiceInfoWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                       failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - app公告
+ (void)requestAppNoticeWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                             failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - app更新配置
+ (void)requestAppUpdateConfigWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                   failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取App的banner图片
+ (void)requestAppBannerUrlWithPage:(NSInteger)page
                           delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                            failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 是否展示提额弹窗
+ (void)requestIncreaseCreditPopWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                     failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 打点
+ (void)requestHitPointWithPageName:(NSString *)pageName
                             action:(NSString *)action
                            extInfo:(NSString *)extInfo
                           delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                            failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 用户详情行为埋点
+ (void)requestBuryPointWithPageName:(NSString *)pageName
                         featureName:(NSString *)featureName
                                type:(NSString *)type
                              action:(NSString *)action
                            delegate:(id <RequestDelegate> _Nullable)delegate
                             success:(void (^)(NSDictionary * response, id mark))success
                             failure:(void (^)(NSString * errorStr, id mark))failure;


@end

NS_ASSUME_NONNULL_END
